<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!--

    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">



    <f:view locale="en">
        <h:head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        </h:head>

        <h:body>
            <p><span id="exceptionDuringRender"/>&nbsp;</p>
            
            <script type="text/javascript">
                var handleError = 
                	function handleError(data) {
                    	var errorMessageString = "Error from " + data.source.id;
                    	var span = document.getElementById("exceptionDuringRender");
                    	span.innerHTML = errorMessageString;
                	};

                jsf.ajax.addOnError(handleError);
            </script>
            
            <h:form id="form">
                <h:commandButton id="commandButton" value="throw on render in script">
                    <f:ajax listener="#{ajaxScriptErrorBean.setRenderedScript(true)}" render="script"/>
                </h:commandButton>
            </h:form>
            
            <h:panelGroup id="script">
                <ui:fragment rendered="#{ajaxScriptErrorBean.renderedScript}">
                    <script>
                        #{ajaxScriptErrorBean.thrower}
                    </script>
                </ui:fragment>
            </h:panelGroup>
        </h:body>
    </f:view>
</html>
